<template>
  <div class="main_spac1">
    <div class="main_white padding10">
      <div class="mainor_form">
        <div class="mainor_te">
          <el-popconfirm title="您确定要分拣全部？" @onConfirm="sortingAll">
            <el-button slot="reference" class="mainor_tea">分拣全部</el-button>
          </el-popconfirm>
          <el-popconfirm title="您确定打印全部吗？" @onConfirm="printAll">
            <el-button slot="reference">打印全部</el-button>
          </el-popconfirm>
          <el-popconfirm title="您确定要撤销全部吗？" @onConfirm="chexiaoAll">
            <el-button slot="reference">撤销全部</el-button>
          </el-popconfirm>
          <el-button @click="dialogFormVisible = true">表头设置</el-button>
        </div>
        <el-form
          :inline="true"
          :model="form"
          class="demo-form-inline"
          ref="userListFrom"
          label-width="70px"
        >
          <el-form-item label="配送日期" prop="send_time">
            <el-date-picker
              v-model="form.send_time"
              type="date"
              class="wid220"
              :editable="false"
              placeholder="选择配送日期"
              value-format="yyyy-MM-dd"
              :clearable="false"
              @change="peisonDatePick"
            />
          </el-form-item>
          <el-form-item label="商品名称" prop="name">
            <el-input
              v-model.trim="form.name"
              placeholder="商品名称"
              clearable
              class="wid220"
              autofocus="true"
              @change="goodsnamePick"
            ></el-input>
          </el-form-item>
          <el-form-item label="商户名称" prop="select">
            <el-input
              v-model.trim="form.company_name"
              placeholder="商户名称"
              clearable
              class="wid220"
              @change="companynamePick"
            ></el-input>
          </el-form-item>
          <el-form-item label="配送时间">
            <el-select
              v-model.trim="form.send_time_id"
              placeholder="配送时间"
              class="wid220"
            >
              <el-option label="所有" value="0"></el-option>
              <el-option
                v-for="(send_time_list, index) in list.send_time_list"
                :key="index"
                :label="send_time_list"
                :value="index"
              ></el-option>
            </el-select>
          </el-form-item>
          <el-form-item label="商品分类" prop="category_id" class="wid220">
            <el-cascader
              v-model="form.category_id"
              :options="options"
              :props="defaultProps"
            ></el-cascader>
          </el-form-item>
          <el-form-item label="标品" prop="select">
            <el-select
              v-model.trim="form.is_standard"
              class="wid220"
              v-model="form.is_standard"
            >
              <el-option label="所有" value="0"></el-option>
              <el-option
                v-for="(is_standard, index) in list.is_standardList"
                :key="index"
                :label="is_standard"
                :value="parseInt(index + 1)"
              ></el-option>
            </el-select>
          </el-form-item>
          <div class="more el-form-item" @click="more">
            <span>更多</span>
            <i :class="[{ on: moredata }, ' el-icon-arrow-down']"></i>
          </div>
          <el-collapse-transition>
            <div v-if="moredata">
              <el-form-item label="分拣状态" prop="select">
                <el-select v-model.trim="form.sorting" class="wid220">
                  <el-option label="所有" :value="parseInt(0)"></el-option>
                  <el-option
                    v-for="(sortingList, index) in list.sortingList"
                    :key="index"
                    :label="sortingList"
                    :value="parseInt(index + 1)"
                  ></el-option>
                </el-select>
              </el-form-item>

              <el-form-item label="是否备注" prop="select">
                <el-select v-model="form.remark" filterable class="wid220">
                  <el-option label="所有" :value="parseInt(0)"></el-option>
                  <el-option
                    v-for="(remarkList, index) in list.remarkList"
                    :key="index"
                    :label="remarkList"
                    :value="parseInt(index + 1)"
                  ></el-option>
                </el-select> </el-form-item
              ><el-form-item label="采购员" prop="select">
                <el-select v-model="form.buyer" filterable class="wid220">
                  <el-option label="所有" :value="parseInt(0)"></el-option>
                  <el-option
                    v-for="(buyerList, index) in list.buyerList"
                    :key="index"
                    :label="buyerList"
                    :value="index"
                  ></el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="供应商" prop="name">
                <el-select
                  v-model.trim="form.supplier"
                  placeholder="供应商"
                  class="wid220"
                >
                  <el-option label="所有" :value="parseInt(0)"></el-option>
                  <el-option
                    v-for="(supplierList, index) in list.supplierList"
                    :key="index"
                    :label="supplierList"
                    :value="index"
                  ></el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="缺货" prop="select">
                <el-select
                  v-model.trim="form.out_status"
                  placeholder="缺货"
                  class="wid220"
                >
                  <el-option label="所有" :value="parseInt(0)"></el-option>
                  <el-option
                    v-for="(outList, index) in list.outList"
                    :key="index"
                    :label="outList"
                    :value="parseInt(index + 1)"
                  ></el-option>
                </el-select>
              </el-form-item>
            </div>
          </el-collapse-transition>
          <div class="clearfix"></div>
          <el-form-item class="marginTop10">
            <el-button
              class="reset marginLeft10"
              type="primary"
              @click="
                $refs['userListFrom'].resetFields(),
                  (createTime = []),
                  (establishTime = [])
              "
              >重置</el-button
            >
            <el-button
              type="primary"
              @click="getArticleList"
              :loading="listLoading"
              >搜索</el-button
            >
          </el-form-item>
        </el-form>
      </div>
      <div class="main_num boxdq">
        <div class="main_num_l box">
          <div class="mainsu_te marginRight5">
            <el-tooltip class="item" effect="dark" placement="top">
              <div slot="content">注释：不包含直送商品</div>
              <svg aria-hidden="true" class="navbar_svg" width="16" height="16">
                <use xlink:href="#icon-summary_question" />
              </svg>
            </el-tooltip>
          </div>
          <p>
            总分拣单元：
            <em>{{ sort_arr_list.count || 0 }}</em>
          </p>
          <p>
            已分拣单元：
            <em>{{ sort_arr_list.over_count || 0 }}</em>
          </p>
          <p>
            未分拣单元：
            <em>{{ weifenjian_count || 0 }}</em>
          </p>
          <p>
            缺货单元：
            <em>{{ sort_arr_list.qeu_count || 0 }}</em>
          </p>
          <p class="box" style="width: 400px; align-items: center">
            分拣进度：
            <el-progress
              :text-inside="true"
              :stroke-width="15"
              :percentage="fenjian_percent"
              status="success"
              color="#E47C02"
              style="width: 60%"
            ></el-progress>
          </p>
        </div>
        <div class="mainsu_te" style="position: relative">
          <el-checkbox
            v-model="low_stocks"
            @change="
              (val) => {
                checkboxChange(val, 'low_stocks');
              }
            "
            >自动打印</el-checkbox
          >
          <el-tooltip class="item" effect="dark" placement="top">
            <div slot="content">
              注释：在使用智能称或手动输入数量并敲回车键完成分拣后，标签自动打印
            </div>
            <svg aria-hidden="true" class="navbar_svg" width="16" height="16">
              <use xlink:href="#icon-summary_question" />
            </svg>
          </el-tooltip>
          <el-checkbox
            v-model="usable_stock"
            @change="
              (val) => {
                checkboxChange(val, 'usable_stock');
              }
            "
            >未分拣打印</el-checkbox
          >
          <el-tooltip class="item" effect="dark" placement="top">
            <div slot="content">注释：勾选后，未分拣商品也可打印</div>
            <svg aria-hidden="true" class="navbar_svg" width="16" height="16">
              <use xlink:href="#icon-summary_question" />
            </svg>
          </el-tooltip>
          <el-checkbox
            v-model="calculate_losses"
            @change="
              (val) => {
                checkboxChange(val, 'calculate_losses');
              }
            "
            >临时编码</el-checkbox
          >
          <el-tooltip class="item" effect="dark" placement="top">
            <div slot="content">
              注释：勾选后，系统会按照用户的下单顺序，以数字1递增的方式，给用户自动生成一个临时数字编码
            </div>
            <svg aria-hidden="true" class="navbar_svg" width="16" height="16">
              <use xlink:href="#icon-summary_question" />
            </svg>
          </el-tooltip>
        </div>
      </div>
      <div class="main_table">
        <el-table
          ref="multipleTable"
          v-loading="listLoading"
          :data="list.list.data"
          element-loading-text="加载中"
          fit
          border
          highlight-current-row
          :row-class-name="cellStyle"
        >
          <el-table-column label="序号" fixed prop="userId" width="80">
            <template slot-scope="scope">{{
              (current.page - 1) * current.per_page + scope.$index + 1
            }}</template>
          </el-table-column>
          <div v-for="(field, index) in field" :key="index">
            <el-table-column
              label="商户"
              prop="company_name.company_name"
              width="120"
              :show-overflow-tooltip="true"
              v-if="field == 1"
            />
            <el-table-column
              label="商品名称"
              prop="name"
              width="120"
              :show-overflow-tooltip="true"
              v-if="field == 2"
            >
            </el-table-column>
            <el-table-column
              label="下单数量"
              width="120"
              :show-overflow-tooltip="true"
              v-if="field == 3"
            >
              <template slot-scope="scope">
                {{ scope.row.order_num }} {{ scope.row.spu_name }}
              </template>
            </el-table-column>
            <el-table-column
              label="分拣数量"
              prop="sort_num"
              width="120"
              :show-overflow-tooltip="true"
              class-name="main_hei"
              v-if="field == 4"
            >
              <template slot-scope="scope">
                <el-input
                  :ref="'sorting' + scope.$index"
                  v-model="scope.row.sort_num"
                  :disabled="scope.row.disabled"
                  placeholder="分拣数量"
                  class="wid80"
                  @focus="inputFocus(scope, $event)"
                  @keyup.enter.native="nextFocus(scope, $event)"
                ></el-input>
              </template>
              <!-- @change="
                    (val) => {
                      fenjiancount(val, scope);
                    }
                  " -->
            </el-table-column>
            <el-table-column
              label="分拣单位"
              prop="spu_name"
              width="120"
              :show-overflow-tooltip="true"
              v-if="field == 5"
            />
            <el-table-column
              label="生产日期"
              prop="mfg"
              width="150"
              class-name="main_hei"
              v-if="field == 6"
            >
              <template slot-scope="scope">
                <el-date-picker
                  v-model="scope.row.mfg"
                  type="date"
                  class="wid120"
                  :editable="false"
                  placeholder="生产日期"
                  value-format="yyyy-MM-dd"
                  :clearable="false"
                  :disabled="scope.row.disabled"
                  @change="
                    (val) => {
                      fenjiantime(val, scope);
                    }
                  "
                />
              </template>
            </el-table-column>
            <el-table-column
              label="库存"
              width="120"
              :show-overflow-tooltip="true"
              :render-header="renderHeader"
              v-if="field == 7"
            >
              <template slot-scope="scope">{{
                scope.row.storehouse_inventory
                  ? scope.row.storehouse_inventory
                  : 0
              }}</template>
            </el-table-column>
            <el-table-column
              label="库存均价"
              prop="inventory_price"
              width="120"
              v-if="field == 8"
            />
            <el-table-column
              label="分拣状态"
              width="120"
              prop="status"
              :show-overflow-tooltip="true"
              v-if="field == 9"
            >
              <template slot-scope="scope">
                <div class="main_link">
                  <el-link type="danger" v-if="scope.row.status == 0"
                    >未分拣</el-link
                  >
                  <el-link type="success" v-else>已分拣</el-link>
                </div>
              </template>
            </el-table-column>
            <el-table-column
              label="备注"
              prop="remark"
              :show-overflow-tooltip="true"
              v-if="field == 10"
            />
            <el-table-column
              label="分拣员"
              :prop="null"
              :show-overflow-tooltip="true"
              v-if="field == 11"
            />
            <el-table-column
              label="分拣时间"
              width="120"
              :show-overflow-tooltip="true"
              v-if="field == 12"
            >
              <template slot-scope="scope">{{
                scope.row.sort_time
                  ? parseTime(scope.row.sort_time, "{y}-{m}-{d}")
                  : ""
              }}</template>
            </el-table-column>
          </div>
          <el-table-column
            label="管理操作"
            align="center"
            fixed="right"
            width="250"
            class-name="main_hei"
          >
            <template slot-scope="scope">
              <el-link @click="qrAccount">打印</el-link>
              <el-popconfirm
                title="您确定对该商品进行缺货备注吗？"
                @onConfirm="quehuo(scope.row.id)"
              >
                <el-link
                  type="success"
                  slot="reference"
                  v-if="scope.row.status == 0"
                  >缺货</el-link
                >
              </el-popconfirm>

              <el-link
                type="primary"
                v-if="scope.row.status == 1"
                @click="xiugaiMethod(scope)"
                >修改</el-link
              >
              <el-link @click="accumu(scope)" v-if="scope.row.status == 1"
                >累加</el-link
              >
              <el-popconfirm
                title="您确定对该商品进行撤销吗?"
                @onConfirm="chexiao(scope.row.id)"
              >
                <el-link
                  type="danger"
                  slot="reference"
                  v-if="scope.row.status == 1"
                  >撤销</el-link
                >
              </el-popconfirm>
            </template></el-table-column
          ></el-table
        >
      </div>
      <div class="main_page boxdq">
        <div></div>
        <!-- 分页 -->
        <div class="main_page_r">
          <el-pagination
            :current-page="current.page"
            :page-sizes="[20, 30, 50, 100]"
            :page-size="limit"
            layout="total, sizes, prev, pager, next, jumper"
            :total="totalCount"
            background
            @size-change="changeLimit"
            @current-change="changePage"
          />
        </div>
      </div>
    </div>

    <!-- 表头设置 -->
    <el-dialog
      title="表头设置"
      :visible.sync="dialogFormVisible"
      class="main_dialog dialog500"
      @close="type = field"
    >
      <el-checkbox-group v-model="type">
        <el-checkbox
          v-for="(Header, index) in Header"
          :key="index"
          :label="Header.id"
          :disabled="Header.disabled"
          >{{ Header.name }}</el-checkbox
        >
      </el-checkbox-group>
      <div slot="footer" class="dialog-footer">
        <el-button @click="dialogFormVisible = false">取 消</el-button>
        <el-button type="primary" @click="setupmine" v-repeatClick
          >确 定</el-button
        >
      </div>
    </el-dialog>
    <!-- 累加分拣弹出窗 -->
    <el-dialog
      title="累加分拣"
      :visible.sync="addDialogFormVisible"
      width="30%"
    >
      <el-form :model="form">
        <el-form-item label="分拣数量" label-width="100px" class="addfenjian">
          <el-input
            v-model="addInfo.new_num"
            autocomplete="off"
            placeholder="智能称或输入数量后回车"
            size="medium"
            autofocus="true"
            type="number"
            @change="countadd(1)"
          ></el-input>
        </el-form-item>
        <el-form-item label="是否分次打印" label-width="100px">
          <el-tooltip
            class="item"
            effect="dark"
            content="勾选后，每次累加数量都会打印标签"
            placement="top"
          >
            <i class="el-icon-question icon" style="padding-rigth: 30px"></i>
          </el-tooltip>
          <el-switch
            v-model="isPrint"
            active-text="开"
            inactive-text="关"
            active-color="#03A98E"
            class="mainor_switch"
            style="margin-left: 20px"
          ></el-switch>
        </el-form-item>
        <el-form-item label="分拣数量" label-width="100px">
          <el-tag
            size="mini"
            v-for="(item, index) in addInfo.numhistory"
            :key="index"
            >{{ item }}</el-tag
          >
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="accountComplete">完 成</el-button>
        <el-button type="primary" @click="qrAccount">打 印</el-button>
      </div>
    </el-dialog>

    <!--  -->

    <el-dialog title="订单导出" :visible.sync="dingdanvisiable" width="30%">
      <div>
        <p>选择导出时间</p>
        <div>
          <el-date-picker
            v-model="value1"
            type="daterange"
            range-separator="至"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
          >
          </el-date-picker>
          <el-select v-model="value" placeholder="请选择">
            <el-option
              v-for="item in options"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            >
            </el-option>
          </el-select>
          <el-tooltip
            class="item"
            effect="dark"
            content="Top Left 提示文字"
            placement="top-start"
          >
            <i class="el-icon-question"></i>
          </el-tooltip>
        </div>
      </div>
      <div>
        <p>选择导出字段</p>
        <el-checkbox-group v-model="type">
          <el-checkbox
            v-for="(Header, index) in Header"
            :key="index"
            :label="Header.id"
            :disabled="Header.disabled"
            >{{ Header.name }}</el-checkbox
          >
        </el-checkbox-group>
      </div>
    </el-dialog>
  </div>
</template>


<script>
import { getLodop } from "@/utils/LodopFuncs";
import {
  sorting_index,
  sorting_accumulation,
  sorting_stock,
  sorting_revoke,
  sorting_add,
  sort_list,
  revoke_list,
} from "@/api/sorting/sortingStart";
import { apiUrl, objKeySort, Md5 } from "@/utils/public";
import { recursion, category } from "@/utils/index";
import { field_save } from "@/api/currency";
import { parseTime } from "@/utils/index";

export default {
  data() {
    return {
      // 时间
      parseTime,
      // 分页
      current: {
        page: 1,
        per_page: 20,
      },
      rowindex: "",
      // 订单弹出框开始
      dingdanvisiable: false,
      value1: "",
      options: [
        {
          value: "选项1",
          label: "黄金糕",
        },
        {
          value: "选项2",
          label: "双皮奶",
        },
        {
          value: "选项3",
          label: "蚵仔煎",
        },
        {
          value: "选项4",
          label: "龙须面",
        },
        {
          value: "选项5",
          label: "北京烤鸭",
        },
      ],
      value: "",
      // 订单弹出框结束
      limit: 20,
      totalCount: 1,
      // 更多
      moredata: false,
      // 总分拣单元 统计
      sort_arr_list: {
        count: 0,
        over_count: 0,
        qeu_count: 0,
        que_count: 0,
      },
      // 弹出层默认绑定的打印
      radio: "1",
      // 是否分次打印
      isPrint: false,
      // 累加操作的信息

      addInfo: {
        id: "",
        num: "", //原始数据
        numhistory: [], //添加的记录
        new_num: 0, //添加数据
      },
      // 搜索
      form: {
        pid: "",
        category_id: [],
        name: "", //商品名称
        company_name: "", //商户名称
        send_time: parseTime(new Date(), "{y}-{m}-{d}"), //配送日期
        send_time_id: "0", //配送时间
        goods_type_list: "", //商品分类
        is_standard: "0", //标品
        sorting: 0, //分拣状态
        remark: 0, //是否备注
        buyer: 0, //采购员
        supplier: 0, //供应商
        out_status: 0,
      },
      low_stocks: false,
      usable_stock: false,
      calculate_losses: false,
      auto_merge_purchase: false,
      // 列表数据
      list: {
        arr: {},
        list: {
          data: [],
        },
      },
      // 表头设置列表
      field: {},
      listLoading: false,
      // 表头设置
      dialogFormVisible: false,
      // 累加弹出窗
      addDialogFormVisible: false,
      type: [],
      Header: [
        {
          id: 1,
          name: "商户",
          disabled: true,
        },
        {
          id: 2,
          name: "商品名称",
          disabled: false,
        },
        {
          id: 3,
          name: "下单数量",
          disabled: false,
        },
        {
          id: 4,
          name: "分拣数量",
          disabled: true,
        },
        {
          id: 5,
          name: "分拣单位",
          disabled: false,
        },
        {
          id: 6,
          name: "生产日期",
          disabled: true,
        },
        {
          id: 7,
          name: "库存",
          disabled: false,
        },
        {
          id: 8,
          name: "库存均价",
          disabled: false,
        },
        {
          id: 9,
          name: "分拣状态",
          disabled: false,
        },
        {
          id: 10,
          name: "备注",
          disabled: false,
        },
        {
          id: 11,
          name: "分拣员",
          disabled: false,
        },
        {
          id: 12,
          name: "分拣时间",
          disabled: false,
        },
      ],
      // 分类
      options: [],
      defaultProps: {
        children: "selfNext",
        label: "title",
        value: "id",
        checkStrictly: true,
      },
    };
  },
  computed: {
    // 未分拣单元
    weifenjian_count() {
      return this.sort_arr_list.count - this.sort_arr_list.over_count;
    },
    // 分拣经度进度
    fenjian_percent() {
      let percent = 0;
      if (this.sort_arr_list.count == 0) {
        percent = 0;
      } else {
        percent =
          (this.sort_arr_list.over_count / this.sort_arr_list.count) * 100;
      }
      percent = Math.round(percent);
      return percent;
    },
  },
  created() {
    // 列表
    this.sorting_index();
  },
  // 刷新
  inject: ["reload"],
  methods: {
    // 单元格的 style 的回调方法
    cellStyle({ row, rowIndex }) {
      if (rowIndex === this.rowindex) {
        return "success";
      } else {
        return;
      }
    },
    // 搜索勾选
    checkboxChange(val, type) {
      this.$message.warning("待完善 ");
      let data = Object.assign(
        {
          sign: Md5(
            objKeySort(Object.assign(apiUrl().name, { [type]: val ? 1 : 0 })) +
              apiUrl().appsecret
          ),
        },
        apiUrl().name,
        { [type]: val ? 1 : 0 }
      );
    },
    // 打印
    qrAccount() {
      this.Preview(
        "1",
        "打印",
        "打印",
        "打印",
        "打印",
        "打印",
        "打印",
        "打印",
        "打印",
        [],
        "打印"
      );
    },
    Preview(
      code,
      nickname,
      line,
      title,
      attr_name,
      num,
      weight,
      shopping_time,
      id,
      bodyw,
      qrcode
    ) {
      if (getLodop()) {
        LODOP = getLodop();
        LODOP.SET_LICENSES(
          "",
          "B554E655041C03A234A3526A51F082F1",
          "C94CEE276DB2187AE6B65D56B3FC2848",
          ""
        );
        LODOP.PRINT_INITA(0, 0, 600, 400, "分拣打印");
        LODOP.SET_PRINT_PAGESIZE(1, 600, 400, "");
        this.AddPrintContent(
          code,
          nickname,
          line,
          title,
          attr_name,
          num,
          weight,
          shopping_time,
          id,
          bodyw,
          qrcode
        );
        // LODOP.PRINT();
        LODOP.PREVIEW();
      }
    },
    AddPrintContent(
      code,
      nickname,
      line,
      title,
      attr_name,
      num,
      weight,
      shopping_time,
      id,
      bodyw,
      qrcode
    ) {
      var c_height = 20,
        d_height = 18;
      LODOP.SET_PRINT_STYLE("FONTSIZE", 14);
      LODOP.SET_PRINT_STYLE("Bold", 1);
      LODOP.ADD_PRINT_TEXT(5, 10, 600, 400, code);

      LODOP.SET_PRINT_STYLE("FONTSIZE", 10);
      LODOP.SET_PRINT_STYLE("Bold", 0);
      LODOP.ADD_PRINT_TEXT(10, "57%", 600, 400, shopping_time);

      LODOP.SET_PRINT_STYLE("FONTSIZE", 10);
      LODOP.SET_PRINT_STYLE("Bold", 0);
      LODOP.ADD_PRINT_TEXT(32, 21, 600, 400, "名称:");

      LODOP.SET_PRINT_STYLE("FONTSIZE", 12);
      LODOP.SET_PRINT_STYLE("Bold", 1);
      LODOP.ADD_PRINT_TEXT(29, 55, 600, 400, title);

      LODOP.SET_PRINT_STYLE("FONTSIZE", 10);
      LODOP.SET_PRINT_STYLE("Bold", 0);
      LODOP.ADD_PRINT_TEXT(50, 21, 600, 400, "规格:" + attr_name);

      LODOP.SET_PRINT_STYLE("FONTSIZE", 10);
      LODOP.SET_PRINT_STYLE("Bold", 0);
      LODOP.ADD_PRINT_TEXT(67, 7, 600, 400, "预定量:" + num);

      LODOP.SET_PRINT_STYLE("FONTSIZE", 10);
      LODOP.SET_PRINT_STYLE("Bold", 0);
      LODOP.ADD_PRINT_TEXT(67, "50%", 600, 400, "配送量:");
      LODOP.ADD_PRINT_LINE(85, 0, 85, 600, 0, 1);

      LODOP.SET_PRINT_STYLE("FONTSIZE", 14);
      LODOP.SET_PRINT_STYLE("Bold", 1);
      LODOP.ADD_PRINT_TEXT(62, "71%", 600, 400, weight);
      LODOP.ADD_PRINT_LINE(85, 0, 85, 600, 0, 1);
      if (bodyw.length != 0) {
        for (var i = 0; i < bodyw.length; i++) {
          if (i == 0) {
            LODOP.SET_PRINT_STYLE("FONTSIZE", 10);
            LODOP.SET_PRINT_STYLE("Bold", 1);
            c_height = c_height + 74;
            LODOP.ADD_PRINT_TEXT(
              c_height,
              7,
              150,
              400,
              bodyw[i].key + ":" + bodyw[i].val
            );
          } else {
            LODOP.SET_PRINT_STYLE("FONTSIZE", 10);
            LODOP.SET_PRINT_STYLE("Bold", 1);
            c_height = c_height + d_height;
            LODOP.ADD_PRINT_TEXT(
              c_height + 20,
              7,
              600,
              400,
              bodyw[i].key + ":" + bodyw[i].val
            );
          }
        }
      }

      if (qrcode == 1) {
        LODOP.ADD_PRINT_IMAGE(
          85,
          "66%",
          600,
          400,
          '<img src="http://test.caidj.cn/qrCode?text=http://test.caidj.cn/%23/fenjian?id=' +
            id +
            '">'
        );
      }
    },
    // 更多
    more() {
      this.moredata = !this.moredata;
    },
    // 累加框展示
    accumu(value) {
      let res = value.row;
      this.addInfo.id = res.id;
      this.addInfo.num = res.sort_num;
      this.addDialogFormVisible = true;
    },
    // 累加回车事件
    countadd(value) {
      this.addInfo.num =
        parseFloat(this.addInfo.num) + parseFloat(this.addInfo.new_num);
      this.addInfo.numhistory.push(this.addInfo.new_num);
      this.sorting_accumulation();
      this.addInfo.new_num = "";
    },
    // 累加完成事件
    accountComplete() {
      this.addDialogFormVisible = false;
      this.sorting_index();
    },
    // 搜索勾选
    checkbox() {
      console.log(this.label);
    },
    // 分类
    handleChange(value) {
      console.log(value);
    },
    // input框聚焦时
    inputFocus(scope, $event) {
      this.rowindex = scope.$index;
      scope.row.sort_num = "";
    },
    // 焦点离开商品分类demo
    nextFocus(scope, $event) {
      let id = scope.row.id;
      let index = scope.$index;
      let val = $event.target.value;
      let newindex = index + 1;
      if (/^(\d+\.?)?\d{0,2}$/.test(parseFloat(val)) && val != "") {
        $event.target.blur();
        let parmas = {
          id: id,
          num: val,
        };
        scope.row.disabled = true;
        this.xiugai(parmas);
        this.$refs["sorting" + newindex][0].focus();
      } else {
        this.$message.warning("请输入正确的数字订单");
        $event.target.value = "";
      }
    },
    // 焦点离开分拣数量
    inputBlur(val, index) {
      if (
        /^(\d+\.?)?\d{0,2}$/.test(parseFloat(val.target.value)) &&
        val.target.value != ""
      ) {
        this.list[index].disabled = true;
        this.offset(index);
      } else {
        this.$nextTick(() => {
          if (val.target.offsetParent) {
            val.target.offsetParent.querySelector("input").focus();
          }
        });
      }
    },
    offset(index) {
      if (index < this.list.length) {
        if (this.list[index].disabled) {
          this.offset((index += 1));
        } else {
          this.$refs["sorting" + index].$el.offsetParent
            .querySelector("input")
            .focus();
        }
      }
    },
    // 订购数量？注释
    renderHeader(h, { column, $index }) {
      // 这里在最外层插入一个div标签
      return h("div", [
        // h即为cerateElement的简写
        // 在div里面插入span
        h("span", {
          // 表示内容
          domProps: {
            innerHTML: column.label,
          },
          on: {
            click: () => {
              console.log(`${column.label}   ${$index}`);
            },
          },
        }),
        h(
          "el-tooltip",
          {
            // 表示属性
            attrs: {
              effect: "dark",
              content: "所有档口下单数量的总和！",
              placement: "top",
            },
          },
          [
            h("i", {
              style: "margin-left: 5px;margin-top:-1px;",
              class: "el-icon-question table-msg",
            }),
          ]
        ),
      ]);
    },
    // 搜索
    getArticleList() {
      console.log(this.form);
      this.current.page = 1;
      this.sorting_index();
    },
    // 分页
    changeLimit(pageSize) {
      this.current.per_page = pageSize;
      this.sorting_index();
    },
    changePage(page) {
      this.current.page = page;
      this.sorting_index();
    },
    // 设置确认
    setupmine(val) {
      let arry = [];
      this.Header.map((e) => {
        this.type.map((p) => {
          if (e.id == p) {
            arry.push(e.id);
            return;
          }
        });
      });
      let data = Object.assign(
        {
          sign: Md5(
            objKeySort(Object.assign(apiUrl().name, { type: 8 })) +
              apiUrl().appsecret
          ),
        },
        apiUrl().name,
        { type: 8, fields: JSON.stringify(arry) }
        // [1,2,3,4,5,6,7,8,9,10]
      );
      field_save(data).then((res) => {
        if (res.errcode == 0) {
          this.$message({
            message: "设置成功",
            type: "success",
          });
          this.reload();
        } else {
          this.$message.error(res.errmsg);
        }
      });
    },
    // 列表
    sorting_index() {
      this.listLoading = true;
      let data = Object.assign(
        {
          sign: Md5(
            objKeySort(
              Object.assign(apiUrl().name, this.list_form(), this.current)
            ) + apiUrl().appsecret
          ),
        },
        apiUrl().name,
        this.list_form(),
        this.current
      );
      sorting_index(data).then((res) => {
        console.log(res);
        this.listLoading = false;
        if (res.errcode == 0) {
          this.options = recursion(res.data.arr.goods_type_list, true);
          res.data.arr.list.data.map((e) => {
            e.cursor = false;
            e.disabled = e.status == 0 ? false : true;
          });
          this.type = res.data.arr.field;
          this.list = res.data.arr;
          console.log(this.list);
          this.field = res.data.arr.field;
          this.sort_arr_list = res.data.arr.sort_arr_list;
          this.totalCount = res.data.arr.list.total;
        } else {
          this.$message.error(res.errmsg);
        }
      });
    },

    list_form() {
      let form = JSON.parse(JSON.stringify(this.form));
      form.pid = form.category_id[0] ? form.category_id[0] : "";
      form.category_id = category(form.category_id);
      return form;
    },
    // 商品累计添加
    sorting_accumulation() {
      let data = Object.assign(
        {
          sign: Md5(
            objKeySort(Object.assign(apiUrl().name) + apiUrl().appsecret)
          ),
        },
        { id: this.addInfo.id, num: 12 }
      );
      sorting_accumulation(data).then((res) => {
        if (res.errcode !== 0) {
          this.$message.error("添加失败，请重试");
        }
      });
    },
    // 分拣缺货
    quehuo(id) {
      let data = Object.assign(
        {
          sign: Md5(
            objKeySort(Object.assign(apiUrl().name) + apiUrl().appsecret)
          ),
        },
        { id: id }
      );
      sorting_stock(data).then((res) => {
        if (res.errcode == 0) {
          this.$message.success("提交成功");
          this.reload();
        } else {
          this.$message.error(res.errmsg);
        }
      });
    },
    // 分拣撤销
    chexiao(id) {
      let data = Object.assign(
        {
          sign: Md5(
            objKeySort(Object.assign(apiUrl().name) + apiUrl().appsecret)
          ),
        },
        { id: id }
      );
      sorting_revoke(data).then((res) => {
        console.log(res);
        if (res.errcode == 0) {
          this.$message.success("商品撤销成功");
          this.reload();
        } else {
          this.$message.error(res.errmsg);
        }
      });
    },
    // 分拣修改请求
    xiugai(parmas) {
      let data = Object.assign(
        {
          sign: Md5(
            objKeySort(Object.assign(apiUrl().name) + apiUrl().appsecret)
          ),
        },
        parmas
      );
      sorting_add(data).then((res) => {
        if (res.errcode == 0) {
          this.$message.success("分拣数量添加成功");
        } else {
          this.$message.error("分拣数量添加失败");
        }
      });
    },
    // 分拣数量修改
    fenjiancount(val, scope) {
      let id = scope.row.id;
      let parmas = {
        id: id,
        num: val,
      };

      this.xiugai(parmas);
    },
    // 生产日期修改
    fenjiantime(val, scope) {
      let id = scope.row.id;
      let params = {
        id: id,
        mfg: val,
      };
      this.xiugai(params);
    },
    // 分拣修改事件
    xiugaiMethod(scope) {
      scope.row.disabled = !scope.row.disabled;
    },

    //分拣全部
    sortingAll() {
      let goodsList = this.list.list.data;
      let newList = [];
      goodsList.forEach((item) => {
        newList.push(item.id);
      });
      if (newList.length == 0) {
        this.$message.warning("无可分拣商品");
        return;
      }
      let ids = newList.join("-");
      let data = Object.assign(
        {
          sign: Md5(
            objKeySort(Object.assign(apiUrl().name, { ids: ids })) +
              apiUrl().appsecret
          ),
        },
        apiUrl().name,
        { ids: ids }
      );

      sort_list(data).then((res) => {
        if (res.errcode == 0) {
          this.$message.success("分拣成功");
          this.reload();
        }
      });
    },
    // 打印全部
    printAll() {
      this.$message.warning("打印功能等待完善");
    },
    // 撤销全部
    chexiaoAll() {
      let goodsList = this.list.list.data;
      let newList = [];
      goodsList.forEach((item) => {
        newList.push(item.id);
      });
      if (newList.length == 0) {
        this.$message.warning("无可撤销商品");
        return;
      }
      let ids = newList.join("-");
      let data = Object.assign(
        {
          sign: Md5(
            objKeySort(Object.assign(apiUrl().name, { ids: ids })) +
              apiUrl().appsecret
          ),
        },
        apiUrl().name,
        { ids: ids }
      );
      revoke_list(data).then((res) => {
        if (res.errcode == 0) {
          this.$message.success("撤销成功");
          this.reload();
        }
      });
    },

    // 配送日期选择
    peisonDatePick() {
      this.getArticleList();
    },
    // 商户名称输入回车
    goodsnamePick() {
      this.getArticleList();
    },
    // 商户名称输入回车
    companynamePick() {
      this.getArticleList();
    },
  },
};
</script>
<style lang="scss">
@import "@/styles/variables.scss";

.mainor_form form {
  width: calc(100% - 350px);
}

.mainsa_bt {
  position: absolute;
  bottom: 20px;
  right: 0;
  z-index: 3;
  .el-button {
    border-color: $menuActiveText;
    color: $menuActiveText;
  }
}
// 分拣弹出窗
.addfenjian {
  .el-input__inner {
    padding-right: 0 !important;
  }
}

// 当表格行选择的时候
.el-table .success {
  color: red;
  font-weight: 700;
  font-size: 20px;
}
</style>
